package com.medicine.config;

import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

//    创建交换机与队列的绑定关系之间的绑定关系
@Configuration
public class FanoutConfig {

    @Bean
    public FanoutExchange fanoutExchange() {
//        通过工厂类创建一个交换机
//        ExchangeBuilder.fanoutExchange("gfl.fanout").build();
        return new FanoutExchange("gfl.fanout");
    }

    @Bean
    public Queue fanoutQueue1() {
//        通过工厂类创建一个队列，并且设置持久化
//        QueueBuilder.durable().build();
        return new Queue("gfl.queue1");
    }

    @Bean
    public Queue fanoutQueue2() {
//        通过工厂类创建一个队列,并且设置非持久化
        QueueBuilder.nonDurable().build();
        return new Queue("gfl.queue2");
    }

    @Bean
    public Binding fanoutBinding1() {
//        通过工厂类创建一个绑定关系
//        BindingBuilder.bind().to().from();
        return BindingBuilder.bind(fanoutQueue1()).to(fanoutExchange());
    }

    @Bean
    public Binding fanoutBinding2() {
        return BindingBuilder.bind(fanoutQueue2()).to(fanoutExchange());
    }


}
